package com.itheima.dao;

import com.github.pagehelper.Page;
import com.itheima.pojo.Role;
import com.itheima.pojo.SysUser;

import java.util.List;
import java.util.Map;

/**
 * @author 黑马程序员
 * @Company http://www.ithiema.com
 * @Version 1.0
 */
public interface UserDao {
	///
	/*查询用户并分页*/
	List<SysUser> findPage();

	/*根据条件查询分页*/
	Page<Map<String, Object>> findByCondition(String queryString);

	/*添加会员*/
	void add(SysUser sysUser);

	/*维护会员和角色(sysUser,role)*/
	void set(Integer id, Integer roleId);

	/*根据userId查询和role的关联*/
	Long findRoleCountsByUserId(Integer id);

	/*删除用户和角色的关联，sysUser,role*/
	void deleteAssociation(Integer id);

	/*删除用户*/
	void deleteById(Integer id);

	/*编辑中数据回显，根据id查询用户*/
	SysUser findById(Integer id);

	/*根据userId查询roleIds(即user和role的关联)*/
	Integer[] findRoleIdsByUserId(Integer id);

	/*编辑用户*/
	void edit(SysUser sysUser);

	SysUser findByUsername(String username);

	long get_user_role(Integer id);
}
